package cn.newstrength.cuichao.step;

import cn.newstrength.wtdf.web.databus.DataContext;
import cn.newstrength.wtdf.web.exception.PAIException;
import cn.newstrength.wtdf.web.processor.Operation;
import cn.newstrength.wtdf.web.processor.OperationStep;
import org.springframework.context.i18n.LocaleContextHolder;

import java.util.Locale;
import java.util.Map;

import static cn.newstrength.wtdf.plugin.util.SpringUtils.getMessage;

public class MessageStep implements OperationStep {

    @Override
    public int excute(Operation oper) throws PAIException {

        /*
         * 获取数据总线
         */
        DataContext dc = oper.getContext();
        String lang = oper.getParameter("lang");
        /*
         * 这里可灵活使用，比如将用户选择的语言放到Redis中，可实现语言的切换
         */
        if("en".equals(lang)){//
            LocaleContextHolder.setLocale(Locale.ENGLISH);
        }
        /*
         * 根据 hello.world key 获取
         */
        String message = getMessage("hello.world");
        /*
         * 输出 Hello World
         */
        dc.setTranStepResult(message);
        /*
         * 返回
         */
        return 0;
    }

    @Override
    public int init(Map<String, String> map) {
        return 0;
    }
}
